﻿
using System.Security.Permissions;
using System.Threading;
using System.Windows.Forms;
using PGun.UserActivityMonitor;

namespace HangameAuto02
{
    public class BaseForm : Form
    {
        #region == members & variables ==

        

        #endregion

        #region == Check boxes to set or remove particular event handlers. ==

        public bool OnMouseMoveHook
        {
            set
            {
                if (value)
                {
                    HookManager.MouseMove += HookManager_MouseMove;
                }
                else
                {
                    HookManager.MouseMove -= HookManager_MouseMove;
                }
            }
        }

        public bool OnMouseClickeHook
        {
            set
            {
                if (value)
                {
                    HookManager.MouseClick += HookManager_MouseClick;
                }
                else
                {
                    HookManager.MouseClick -= HookManager_MouseClick;
                }
            }
        }

        public bool OnMouseUpHook
        {
            set
            {
                if (value)
                {
                    HookManager.MouseUp += HookManager_MouseUp;
                }
                else
                {
                    HookManager.MouseUp -= HookManager_MouseUp;
                }
            }
        }

        public bool OnMouseDownHook
        {
            set
            {
                if (value)
                {
                    HookManager.MouseDown += HookManager_MouseDown;
                }
                else
                {
                    HookManager.MouseDown -= HookManager_MouseDown;
                }
            }
        }

        public bool OnMouseDoubleClickHook
        {
            set
            {
                if (value)
                {
                    HookManager.MouseDoubleClick += HookManager_MouseDoubleClick;
                }
                else
                {
                    HookManager.MouseDoubleClick -= HookManager_MouseDoubleClick;
                }
            }
        }

        public bool OnMouseWheelHook
        {
            set
            {
                if (value)
                {
                    HookManager.MouseWheel += HookManager_MouseWheel;
                }
                else
                {
                    HookManager.MouseWheel -= HookManager_MouseWheel;
                }
            }
        }

        public bool OnKeyDownHook
        {
            set
            {
                if (value)
                {
                    HookManager.KeyDown += HookManager_KeyDown;
                }
                else
                {
                    HookManager.KeyDown -= HookManager_KeyDown;
                }
            }
        }

        public bool OnKeyUpHook
        {
            set
            {
                if (value)
                {
                    HookManager.KeyUp += HookManager_KeyUp;
                }
                else
                {
                    HookManager.KeyUp -= HookManager_KeyUp;
                }
            }
        }

        public bool OnKeyPressHook
        {
            set
            {
                if (value)
                {
                    HookManager.KeyPress += HookManager_KeyPress;
                }
                else
                {
                    HookManager.KeyPress -= HookManager_KeyPress;
                }
            }
        }

        #endregion

        #region == Event handlers of particular events. They will be activated when an appropriate checkbox is checked. ==

        public virtual void HookManager_KeyDown(object sender, KeyEventArgs e)
        {
        }

        public virtual void HookManager_KeyUp(object sender, KeyEventArgs e)
        {
        }


        public virtual void HookManager_KeyPress(object sender, KeyPressEventArgs e)
        {
        }


        public virtual void HookManager_MouseMove(object sender, MouseEventArgs e)
        {
        }

        public virtual void HookManager_MouseClick(object sender, MouseEventArgs e)
        {
        }


        public virtual void HookManager_MouseUp(object sender, MouseEventArgs e)
        {
        }


        public virtual void HookManager_MouseDown(object sender, MouseEventArgs e)
        {
        }


        public virtual void HookManager_MouseDoubleClick(object sender, MouseEventArgs e)
        {
        }


        public virtual void HookManager_MouseWheel(object sender, MouseEventArgs e)
        {
        }

        #endregion

        #region == InitializeComponent ==

        private void InitializeComponent()
        {
            this.SuspendLayout();
            // 
            // BaseForm
            // 
            this.ClientSize = new System.Drawing.Size(284, 262);
            this.Name = "BaseForm";
            this.ResumeLayout(false);

        }

        #endregion

        #region == events ==


        #endregion
    }
}
